inspector: Add columns to the object tree
authorMatthias Clasen <mclasen@redhat.com>
Wed, 18 Dec 2019 04:51:11 +0000 (23:51 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 31 May 2020 13:23:37 +0000 (09:23 -0400)
Add columnview columns in the object tree.
We do the same for treeview columns.

gtk/inspector/object-tree.c

index 6bf5961db45ad726f9df37e50145810f5cc8e4fc..60d96081f46d79a634e24ef5812218361acf7953 100644 (file)
@@ -336,6 +336,29 @@ object_tree_tree_view_get_children (GObject *object)
   return G_LIST_MODEL (result);
 }
 
+static GListModel *
+object_tree_column_view_get_children (GObject *object)
+{
+  GtkColumnView *view = GTK_COLUMN_VIEW (object);
+  GListStore *result_list;
+  GtkFlattenListModel *result;
+  GListModel *columns, *sublist;
+
+  result_list = g_list_store_new (G_TYPE_LIST_MODEL);
+
+  columns = gtk_column_view_get_columns (view);
+  g_list_store_append (result_list, columns);
+
+  sublist = object_tree_widget_get_children (object);
+  g_list_store_append (result_list, sublist);
+  g_object_unref (sublist);
+
+  result = gtk_flatten_list_model_new (G_TYPE_OBJECT, G_LIST_MODEL (result_list));
+  g_object_unref (result_list);
+
+  return G_LIST_MODEL (result);
+}
+
 static GListModel *
 object_tree_icon_view_get_children (GObject *object)
 {
@@ -499,6 +522,11 @@ static const ObjectTreeClassFuncs object_tree_class_funcs[] = {
     object_tree_widget_get_parent,
     object_tree_tree_view_get_children
   },
+  {
+    gtk_column_view_get_type,
+    object_tree_widget_get_parent,
+    object_tree_column_view_get_children
+  },
   {
     gtk_combo_box_get_type,
     object_tree_widget_get_parent,